diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-11-07 08:39:04 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-11-07 08:39:04 +0000 |
| commit | ba8cd44a0ed2c613a5f2cee06bfc9bd0f61f21c7 (patch) | |
| tree | 7fb626c184a1fa48b28bf83571dadca2306bd1b5 /app/[lng]/evcp/(evcp)/(procurement)/bid-receive/page.tsx | |
| parent | b0fe980376fcf1a19ff4b90851ca8b01f378fdc0 (diff) | |
(최겸) 입찰/견적 수정사항
Diffstat (limited to 'app/[lng]/evcp/(evcp)/(procurement)/bid-receive/page.tsx')
| -rw-r--r-- | app/[lng]/evcp/(evcp)/(procurement)/bid-receive/page.tsx | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/app/[lng]/evcp/(evcp)/(procurement)/bid-receive/page.tsx b/app/[lng]/evcp/(evcp)/(procurement)/bid-receive/page.tsx new file mode 100644 index 00000000..0d725bbf --- /dev/null +++ b/app/[lng]/evcp/(evcp)/(procurement)/bid-receive/page.tsx @@ -0,0 +1,39 @@ +import { Metadata } from 'next'
+import { getBiddingsForReceive } from '@/lib/bidding/service'
+import { GetBiddingsSchema, searchParamsCache } from '@/lib/bidding/validation'
+import { BiddingsReceiveTable } from '@/lib/bidding/receive/biddings-receive-table'
+
+export const metadata: Metadata = {
+ title: '입찰서접수및마감',
+ description: '입찰서 접수 및 마감 현황을 확인하고 개찰을 진행할 수 있습니다.',
+}
+
+interface BiddingReceivePageProps {
+ searchParams: Promise<Record<string, string | string[] | undefined>>
+}
+
+export default async function BiddingReceivePage({
+ searchParams,
+}: BiddingReceivePageProps) {
+ // URL 파라미터 검증
+ const searchParamsResolved = await searchParams
+ const search = searchParamsCache.parse(searchParamsResolved)
+
+ // 데이터 조회
+ const biddingsPromise = getBiddingsForReceive(search)
+
+ return (
+ <div className="flex flex-col gap-4 p-4">
+ <div className="flex items-center justify-between">
+ <div>
+ <h1 className="text-2xl font-bold tracking-tight">입찰서접수및마감</h1>
+ <p className="text-muted-foreground">
+ 입찰서 접수 현황을 확인하고 개찰을 진행할 수 있습니다.
+ </p>
+ </div>
+ </div>
+
+ <BiddingsReceiveTable promises={Promise.all([biddingsPromise])} />
+ </div>
+ )
+}
\ No newline at end of file |
